package fybug.nulll.pdstream.WR.Stream.Interface;
import com.sun.istack.internal.NotNull;

import fybug.nulll.pdfunctionlibrary.Annotations.MaybeStop;
import fybug.nulll.pdfunctionlibrary.Processing.Err.CallStop;
import fybug.nulll.pdfunctionlibrary.Processing.Err.Stop;
import fybug.nulll.pdfunctionlibrary.Processing.Interface.NeedInit;
import fybug.nulll.pdstream.WR.Stream.Read;
/**
 * <h2>字符流读取器读取过程处理接口.</h2>
 * <pre>
 * 在 <b>字符流读取器</b> 进行 <b>连续读取</b> 操作时
 * 对读取的文本进行处理
 * </pre>
 *
 * @author fybug
 * @version 0.0.3
 * @see NeedInit
 * @see Read
 * @see MaybeStop
 * @see Stop
 * @see CallStop
 * @since JDK 1.8
 */
public
interface StringCheck extends NeedInit {
    @MaybeStop
    @Override
    default
    void init() {}

    @Override
    default
    void destroy() {}

    /**
     * <p>处理读取到的文本.</p>
     * <pre>
     * 使用该方法处理读取出来的文本
     * 传入的文本是当前缓冲区大小的文本
     * </pre>
     */
    @NotNull
    String check(@NotNull final String s);
}
